#!/bin/sh

set -e

case "$1" in
  remove)
    :
    ;;

  purge)
    # find first and last SYSTEM_UID numbers
    for LINE in `grep SYSTEM_UID /etc/adduser.conf | grep -v "^#"`; do
       case $LINE in
          FIRST_SYSTEM_UID*)
            FIRST_SYSTEM_UID=`echo $LINE | cut -f2 -d '='`
            ;;
          LAST_SYSTEM_UID*)
            LAST_SYSTEM_UID=`echo $LINE | cut -f2 -d '='`
            ;;
          *)
            ;;
          esac
    done
    # Remove system account if necessary
    CREATEDUSER="rundeck"
    if [ -n "$FIRST_SYSTEM_UID" ] && [ -n "$LAST_SYSTEM_UID" ]; then
      if USERID=`getent passwd $CREATEDUSER | cut -f 3 -d ':'`; then
        if [ -n "$USERID" ]; then
          if [ "$FIRST_SYSTEM_UID" -le "$USERID" ] && \
            [ "$USERID" -le "$LAST_SYSTEM_UID" ]; then
               echo -n "Removing $CREATEDUSER system user.."
               deluser --quiet $CREATEDUSER || true
               echo "..done"
          fi
        fi
      fi
    fi
    # Remove system group if necessary
    CREATEDGROUP="rundeck"
    FIRST_USER_GID=`grep ^USERS_GID /etc/adduser.conf | cut -f2 -d '='`
    if [ -n "$FIRST_USER_GID" ]; then
      if GROUPGID=`getent group $CREATEDGROUP | cut -f 3 -d ':'`; then
        if [ -n "$GROUPGID" ]; then
          if [ "$FIRST_USER_GID" -gt "$GROUPGID" ]; then
            echo -n "Removing $CREATEDGROUP group.."
            delgroup --only-if-empty $CREATEDGROUP || true
            echo "..done"
          fi
        fi
      fi
    fi
    ;;

  upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
    ;;

  *)
    echo "postrm called with unknown argument \`$1'" >&2
    exit 1
    ;;
esac

exit 0
